package sicnu.cs.aps.service;

import com.github.pagehelper.PageInfo;
import sicnu.cs.aps.domain.dto.CollegeInfoDto;
import sicnu.cs.aps.domain.entity.CollegeInfo;
import sicnu.cs.aps.domain.form.QueryForm;

import java.util.List;

/**
 * description ICollegeInfoService
 *
 * @author chenhetao
 * @version 1.0
 * @className ICollegeInfoService
 * @packageName sicnu.cs.aps.service
 * @date 2022/5/26 18:47
 */
public interface ICollegeInfoService {
    /**
     * 通过数据库查找Excel需要的kv字段保存映射
     *
     * @return 对应的kv字符串
     */
    String getKv();

    /**
     * 查询学院信息
     *
     * @param queryForm 分页及查询信息
     * @return
     */
    PageInfo<CollegeInfoDto> getCollegeInfoByName(QueryForm queryForm);

    /**
     * 获取学院列表
     * @return
     */
    List<CollegeInfo> getCollegeInfoList();

    /**
     * 获取全部学院及专业信息（手动拼接）
     * @return CollegeInfoDtoList
     */
    List<CollegeInfoDto> getCollegeAndMajorInfoList();

    /**
     * 获取全部学院及专业信息(SQL Collection 实现）
     * (实测较慢）应使用getCollegeAndMajorInfoList
     *
     * @return CollegeInfoDtoList
     */
    @Deprecated
    List<CollegeInfoDto> getCollegeAndMajorInfo();

}
